Exception in thread "main" java.lang.StackOverflowError

Exception in thread "main" java.lang.StackOverflowError

บทความนี้เรามาทำความรู้จักกับ StackOverflowError กัน ซึ่งจะมีข้อความที่เกิดขึ้นจะแสดงข้อความประมาณด้านล่าง
 Exception in thread "main" java.lang.StackOverflowError 	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9) 	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9) 	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9) 	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9) 	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9) 	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9) 	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9) 	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9) 	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9) 	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9) 	at com.doesystem.CodeFromDoesystem.recursiveException(CodeFromDoesystem.java:9) 
จาก Error ข้างบน จะเห็นว่าเป็น StackOverflowError

ดังนั้นลองมาดูโค้ดที่ทำให้เกิด Exception กัน
 package com.doesystem;  public class CodeFromDoesystem { 	public static void main(String[] args) throws Exception { 		recursiveException(); 	} 	 	public static void recursiveException(){ 		recursiveException(); 	} } 
จากข้อความ CodeFromDoesystem.java:9 ให้เราลองไปดูที่บรรทัดที่ 9 จะเห็นว่า มีการเรียก method ที่ชื่อว่า recursiveException() ซึ่ง method ที่เรียกก็คือ recursiveException() แสดงว่า method นี้เรียกตัวของมันเองไม่มีที่สิ้นสุด